### all descriptions to be edited

def hold_retrieve_conf_1():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  SiebelAg1.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg2.ReleaseCall()


def hold_retrieve_conf_2():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg2.ReleaseCall()


def hold_retrieve_conf_3():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  SiebelAg1.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()

def hold_retrieve_conf_4():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()

def hold_retrieve_conf_5():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg1.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg2.ReleaseCall()
  
def hold_retrieve_conf_6():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg1.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()
  
def hold_retrieve_conf_7():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg2.ReleaseCall()
  
def hold_retrieve_conf_8():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()

### Release 1<-->2

def hold_retrieve_conf_1_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  SiebelAg2.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()


def hold_retrieve_conf_2_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  SiebelAg2.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()


def hold_retrieve_conf_3_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  Ext1SiebelAg2.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_conf_4_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg3.HoldCall()
  Ext1SiebelAg2.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_conf_5_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg2.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()
  
def hold_retrieve_conf_6_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  Ext1SiebelAg2.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()
  
def hold_retrieve_conf_7_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  SiebelAg2.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()
  
def hold_retrieve_conf_8_():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.CompleteConference()
  Ext1SiebelAg2.ReleaseCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()
  
 ### before ReleaseCall
  
def hold_retrieve_conf_1__():
    """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
    SiebelAg1.MakeCall(DN3)
    SiebelAg3.AnswerCall()
    SiebelAg3.InitiateConference(DN2)
    SiebelAg2.AnswerCall()
    SiebelAg3.CompleteConference()
    SiebelAg3.HoldCall()
    SiebelAg3.RetrieveCall()
    SiebelAg1.ReleaseCall()
    SiebelAg2.ReleaseCall()
  
  
def hold_retrieve_conf_2__():
    """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
    Ext1SiebelAg1.MakeCall(DN3)
    SiebelAg3.AnswerCall()
    SiebelAg3.InitiateConference(DN2)
    SiebelAg2.AnswerCall()
    SiebelAg3.CompleteConference()
    SiebelAg3.HoldCall()
    SiebelAg3.RetrieveCall()
    Ext1SiebelAg1.ReleaseCall()
    SiebelAg2.ReleaseCall()
  
  
def hold_retrieve_conf_3__():
    """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
    SiebelAg1.MakeCall(DN3)
    SiebelAg3.AnswerCall()
    SiebelAg3.InitiateConference(Ext1DN2)
    Ext1SiebelAg2.AnswerCall()
    SiebelAg3.CompleteConference()
    SiebelAg3.HoldCall()
    SiebelAg3.RetrieveCall()
    SiebelAg1.ReleaseCall()
    Ext1SiebelAg2.ReleaseCall()
  
def hold_retrieve_conf_4__():
    """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
    Ext1SiebelAg1.MakeCall(DN3)
    SiebelAg3.AnswerCall()
    SiebelAg3.InitiateConference(Ext1DN2)
    Ext1SiebelAg2.AnswerCall()
    SiebelAg3.CompleteConference()
    SiebelAg3.HoldCall()
    SiebelAg3.RetrieveCall()
    Ext1SiebelAg1.ReleaseCall()
    Ext1SiebelAg2.ReleaseCall()
  
  
